import java.util.ArrayList;
import java.util.List;

public class Test {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> list = new ArrayList(numRows);
        for(int i = 0; i < numRows; i++){
            List<Integer> list1 = new ArrayList();
            for(int j = 0; j <= i; j++){
                if(j == 0 || j == i){
                    list1.add(1);
                }else{
                    List<Integer> list2 = list.get(i - 1);
                    int num1 = list2.get(j - 1);
                    int num2 = list2.get(j);
                    int num = num1 + num2;
                    list1.add(num);
                }
            }
            list.add(list1);
        }
        return list;
    }

    public static void main(String[] args) {
        Test t = new Test();
        List<List<Integer>> list = t.generate(5);
        System.out.println(list);
    }
    public static void main1(String[] args) {
        MyArrayListCourse myArrayListCourse = new MyArrayListCourse();
        myArrayListCourse.add(1);
        myArrayListCourse.add(2);
        myArrayListCourse.add(3);
        myArrayListCourse.add(4);
        myArrayListCourse.add(5);
        myArrayListCourse.show();

        //myArrayList.add(-5, 99);
        myArrayListCourse.show();

        myArrayListCourse.get(10);
    }
}
